package cn.sandy.lambda;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Lamdba7 {
    public static void main(String[] args) {

        //对集合进行迭代循环

        List<Integer> sumList = new ArrayList<Integer>();

        Collections.addAll(sumList, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

        //forEach 里面的参数是 Consumer
        //Consumer 是个接口所以能使用 Lamdba表达式  有且只有一个方法 accept();
        // @FunctionalInterface
        //public interface Consumer<T> {
        //void accept(T t);
        sumList.forEach(System.out::println);


        sumList.forEach(
                //给他一个参数
                sum -> {
                    if (sum % 2 == 0) {
                        System.out.println(sum + "是偶数");
                    } else {
                        System.out.println(sum + "是奇数");
                    }
                }
        );

        // 找到源码参数 Predicate  后找到Predicate 的源码  boolean test(T t);
        //其返回的是boolean 所以应该是判断其值是否是真，若是真则进行删除
        sumList.removeIf(sum -> {
            return sum >= 5;
        });


    }

}
